package com.ape.mapsa.produccion.model;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * The persistent class for the cliente database table.
 * 
 */
@Entity
@NamedQuery(name = "Cliente.findAll", query = "SELECT c FROM Cliente c")
public class Cliente implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long id;

	private String nombre;

	private int numero;

	private String createdby;
	private String modifiedby;

	@Temporal(TemporalType.TIMESTAMP)
	private Date creationdate;
	@Temporal(TemporalType.TIMESTAMP)
	private Date modificationdate;

	private Integer state;

	// bi-directional many-to-one association to PedidoVenta
	@OneToMany(mappedBy = "clienteBean")
	private List<PedidoVenta> pedidoVentas;

	public Cliente() {
	}

	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public int getNumero() {
		return this.numero;
	}

	public void setNumero(int numero) {
		this.numero = numero;
	}

	public List<PedidoVenta> getPedidoVentas() {
		return this.pedidoVentas;
	}

	public void setPedidoVentas(List<PedidoVenta> pedidoVentas) {
		this.pedidoVentas = pedidoVentas;
	}

	public String getCreatedby() {
		return createdby;
	}

	public void setCreatedby(String createdby) {
		this.createdby = createdby;
	}

	public String getModifiedby() {
		return modifiedby;
	}

	public void setModifiedby(String modifiedby) {
		this.modifiedby = modifiedby;
	}

	public Date getCreationdate() {
		return creationdate;
	}

	public void setCreationdate(Date creationdate) {
		this.creationdate = creationdate;
	}

	public Date getModificationdate() {
		return modificationdate;
	}

	public void setModificationdate(Date modificationdate) {
		this.modificationdate = modificationdate;
	}

	public Integer getState() {
		return state;
	}

	public void setState(Integer state) {
		this.state = state;
	}

	public PedidoVenta addPedidoVenta(PedidoVenta pedidoVenta) {
		getPedidoVentas().add(pedidoVenta);
		pedidoVenta.setClienteBean(this);

		return pedidoVenta;
	}

	public PedidoVenta removePedidoVenta(PedidoVenta pedidoVenta) {
		getPedidoVentas().remove(pedidoVenta);
		pedidoVenta.setClienteBean(null);

		return pedidoVenta;
	}

}